{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "class MinStack {\n",
    "    stack: Array<number>;\n",
    "    \n",
    "    constructor() {\n",
    "        this.stack = [];\n",
    "    }\n",
    "\n",
    "    push(x: number): void {\n",
    "        this.stack.push(x);\n",
    "    }\n",
    "\n",
    "    pop(): void {\n",
    "        this.stack.pop();\n",
    "    }\n",
    "\n",
    "    top(): number {\n",
    "        return this.stack[this.stack.length-1];\n",
    "    }\n",
    "\n",
    "    getMin(): number {\n",
    "        return Math.min(...this.stack);\n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "https://leetcode.com/problems/min-stack\n",
    "\n",
    "\n",
    "\n",
    "Runtime: 248 ms, faster than 31.65% of TypeScript online submissions for Min Stack.\n",
    "Memory Usage: 47.2 MB, less than 72.15% of TypeScript online submissions for Min Stack.\n",
    "\n",
    "\n",
    "\n",
    "```typescript\n",
    "class MinStack {\n",
    "    stack: Array<number>;\n",
    "    \n",
    "    constructor() {\n",
    "        this.stack = [];\n",
    "    }\n",
    "\n",
    "    push(x: number): void {\n",
    "        this.stack.push(x);\n",
    "    }\n",
    "\n",
    "    pop(): void {\n",
    "        this.stack.pop();\n",
    "    }\n",
    "\n",
    "    top(): number {\n",
    "        return this.stack[this.stack.length-1];\n",
    "    }\n",
    "\n",
    "    getMin(): number {\n",
    "        return Math.min(...this.stack);\n",
    "    }\n",
    "}\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "TypeScript",
   "language": "typescript",
   "name": "tslab"
  },
  "language_info": {
   "codemirror_mode": {
    "mode": "typescript",
    "name": "javascript",
    "typescript": true
   },
   "file_extension": ".ts",
   "mimetype": "text/typescript",
   "name": "typescript",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
